9

项目介绍

1、作为前端的菜鸟,每每看到Github上有很多大神分享着自己的项目时,内心都是蠢蠢欲动,这次终于下定决心要给自己一段时间来完成属于自己的一份作品。
2、于是在查找了大量资料,思考着技术选型,终于决定做一个展现商品的web全栈网站。
3、此网站的商品名称、商品价格、商品价格等商品信息均是通过node爬虫获取到,然后根据自己需求设计数据库模型,并将其导入而获取到的数据并展现出来。该网站实现了一般商城最最最基本的功能:注册、登录与退出功能,购物车的添加与修改,前端实时计算购物车数量并展现,地址列表的增加与删除,订单列表的生成,下单以及查询下单成功等功能。当然这个网站还有许许多多需要完善并增加的功能,在此之后也会不断去完善这个网站。
4、在此过程中遇到很多困难,当每每告诫自己需要静下心来,明确问题所在,并多查看相关文档与问题,找到问题所在,并记录下来,之后会整理一下在这个项目中个人遇到的问题及解决的办法。所幸的是问题都已经解决,项目也顺利部署。

线上地址展示

线上前端项目地址:Husky Market
Github地址:Husky

代码安装与部署

# 克隆地址
git clone https://github.com/husky0601/js-full-stack-mall.git

#进入项目文件
cd js-full-stack-mall

# 安装依赖
npm install

# 运行项目
npm run dev

技术栈

前端:
SVG + Sass + Flex + Vue全家桶(vue + vuex + vue-router+ axios)+ webpack
后端JS:
Node.js + Express
数据库:
Mongodb + mongoose

项目架构

前端vue项目架构

├── build                                       // webpack配置文件
├── config                                      // 项目打包路径
├── src                                         // 源码目录
│   ├── assets                                  // 样式目录
│   ├── components                              // 公用组件
│   │   ├── Header.vue                          // 头部组件
│   │   ├── Bread.vue                           // 面包屑组件
│   │   ├── Footer.vue                          // 底部组件
│   │   ├── Modal.vue                           // 模态框组件
|   |   |—— LoadderMore.vue                     // 加载更多
│   ├── router                                  // 路由目录
│   │   ├── index.js                            // 路由配置
│   ├── util                                    // 工具插件目录
│   │   ├── currency.js                         // 格式化价格工具
│   ├── views                                   // 主要页面
│   │   ├── Login.vue                           // 注册与登录页
│   │   ├── GoodsList.vue                       // 商品列表页
│   │   ├── AddAddress.vue                      // 添加地址页
│   │   ├── Cart.vue                            // 购物车页
│   │   ├── Address.vue                         // 收货地址页
│   │   ├── OrderConfirm.vue                    // 下单页
│   │   ├── orderSuccess.vue                    // 下单成功页
│   ├── App.vue                                 // 总组件(渲染页面)
│   ├── main.js                                 // 入口文件
├── static                                      // 静态资源目录
├── index.html                                  // html入口文件
├── favicon.ico                                 // 图标
├── package.json                                // 依赖文件

后端Express项目架构

├── bin                                         // 主文件
│   ├── www                                     // 项目的入口文件
├── model                                       // 数据模型
│   ├── users.js                                // 用户数据模型
│   ├── goods.js                                // 商品数据模型
├── public                                      // 共有静态资源
├── router                                      // 路径接口
│   ├── goods.js                                // 商品路径接口
│   ├── users.js                                // 用户路径接口
├── utils                                       // 全局共有方法
│   ├── utils.js                                // 全局共有方法
├── views                                       // 页面展示
|—— app.js                                      // express主文件
├── package.json                                // 依赖文件

基本功能

前端功能

  • 响应式布局 --完成
  • 注册、登录、退出 --完成
  • 加入购物车、购物车结算 --完成
  • 地址增加、删除 --完成
  • 下单功能 --完成
  • 商品详情 --未完成
  • 商品分类展示 --未完成
  • 个人中心 --未完成
  • ......思考ING

后端功能

  • 全局登录拦截 --完成
  • 用户注册、登录、退出 --完成
  • 商品过滤、查询 --完成
  • 购物车列表的增加、修改、删除 --完成
  • 订单生成、查询 --完成
  • 商品详情图片的获取 --未完成
  • 订单管理 --未完成
  • ......思考ING

husky0601
71 声望2 粉丝